package com.sc.nft.feign;

import com.sc.nft.dto.BeVerifiedAndQualifiedDTO;
import com.sc.nft.dto.ObtainApprovalListDTO;
import com.sc.nft.dto.RefusalOfApprovalDTO;
import com.sc.nft.sup.PageResult;
import com.sc.nft.sup.Result;
import com.sc.nft.vo.ObtainApprovalListVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

@FeignClient(name = "nft-commercial", path = "/commercial/merchantDepositApproval")
public interface MerchantDepositApprovalClient {

    /**
     * 拒绝审批
     *
     * @param refusalOfApprovalDTO
     * @return
     */
    @PostMapping("/refusalOfApproval")
    Result refusalOfApproval(@RequestBody RefusalOfApprovalDTO refusalOfApprovalDTO);

    /**
     * 通过审批
     *
     * @param beVerifiedAndQualifiedDTO
     * @return
     */
    @PostMapping("/beVerifiedAndQualified")
    Result beVerifiedAndQualified(@RequestBody BeVerifiedAndQualifiedDTO beVerifiedAndQualifiedDTO);

    /**
     * 获取审批列表
     *
     * @param obtainApprovalListDTO
     * @return
     */
    @PostMapping("/obtainApprovalList")
    PageResult<ObtainApprovalListVO> obtainApprovalList(@RequestBody ObtainApprovalListDTO obtainApprovalListDTO);

}
